package cn.pupil.springframework.beans.factory;

/**
 * @Description: Bean扩展接口，用于生成某些需要复杂初始化过程的bean对象
 * @Author: pupil
 * @Date: 2024/11/12 下午 5:33
 */
public interface FactoryBean<T> {

    /**
     * 获取对象
     * @return
     * @throws Exception
     */
    T getObject() throws Exception;

    /**
     * 获取对象类型
     * @return
     */
    Class<?> getObjectType();

    /**
     * 判断是否单例对象
     * @return
     */
    boolean isSingleton();
}
